package TDALista;

public class Nodo<E> implements Position<E>, java.io.Serializable {
	
	//Atributos de instancia
	
		private Nodo<E> prev,next;
		private E elem;
		
		//Constructor de clase
		
		public Nodo(Nodo<E> prev,Nodo<E> next,E elem) {
			this.prev=prev;
			this.next=next;
			this.elem=elem;
		  }
		
	   //Metodos de la interface Position
		
		public E element() throws InvalidPositionException {
			
		   if ((prev==null)&&(next==null)) {
			   throw new InvalidPositionException("La posicion no esta en la lista.");
		      }
		   return elem;
	     }
	   
	  //Metodos getters()
		
		
	   public Nodo<E> getNext() {
		   
		 return next;
	   }
	   
	   public Nodo<E> getPrev() {
		   
		 return prev;
	   }
		
	  //Metodos setters()
	   
	   public void setNext(Nodo<E> e) {
		   
		 next=e;
	   }
	   
	   public void setPrev(Nodo<E> e) {
		   
		 prev=e;
	   }
	   
	   public void setElement(E elemento) {
		   
		 elem=elemento;
	   }
	   
}
